package com.xinwei.linearExercise;

/**
 * 栈
 * 栈可以基于线性数组和链表进行实现，但如果直接继承，arraylist的其他接口，栈也可以使用，所以不合理，采用内部继承的方法
 */
public class Stack<E> {
    private List<E> list = new ArrayList<>();

    public int size(){
        return list.size();
    }

    public boolean isEmpty(){
        return list.isEmpty();
    }

    public void push(E element){
        list.add(element);
    }

    public E pop(){
        return list.remove(list.size() - 1);
    }

    public E top(){
        return list.get(list.size() - 1);
    }
}
